class OscFindEntity {
	int code;
	OscFind data;
	String message;

	OscFindEntity({this.code, this.data, this.message});

	OscFindEntity.fromJson(Map<String, dynamic> json) {
		code = json['code'];
		data = json['data'] != null ? new OscFind.fromJson(json['data']) : null;
		message = json['message'];
	}

	Map<String, dynamic> toJson() {
		final Map<String, dynamic> data = new Map<String, dynamic>();
		data['code'] = this.code;
		if (this.data != null) {
      data['data'] = this.data.toJson();
    }
		data['message'] = this.message;
		return data;
	}
}

class OscFind {
	List<OscWeeklyActiveUser> weeklyActiveUsers;
	List<OscFindBanner> banners;
	List<OscFindRecommendProject> recommendProjects;
	OscFindBanner recommendBanner;

	OscFind({this.weeklyActiveUsers, this.banners, this.recommendProjects, this.recommendBanner});

	OscFind.fromJson(Map<String, dynamic> json) {
		if (json['weeklyActiveUsers'] != null) {
			weeklyActiveUsers = new List<OscWeeklyActiveUser>();(json['weeklyActiveUsers'] as List).forEach((v) { weeklyActiveUsers.add(new OscWeeklyActiveUser.fromJson(v)); });
		}
		if (json['banners'] != null) {
			banners = new List<OscFindBanner>();(json['banners'] as List).forEach((v) { banners.add(new OscFindBanner.fromJson(v)); });
		}
		if (json['recommendProjects'] != null) {
			recommendProjects = new List<OscFindRecommendProject>();(json['recommendProjects'] as List).forEach((v) { recommendProjects.add(new OscFindRecommendProject.fromJson(v)); });
		}
		recommendBanner = json['recommendBanner'] != null ? new OscFindBanner.fromJson(json['recommendBanner']) : null;
	}

	Map<String, dynamic> toJson() {
		final Map<String, dynamic> data = new Map<String, dynamic>();
		if (this.weeklyActiveUsers != null) {
      data['weeklyActiveUsers'] =  this.weeklyActiveUsers.map((v) => v.toJson()).toList();
    }
		if (this.banners != null) {
      data['banners'] =  this.banners.map((v) => v.toJson()).toList();
    }
		if (this.recommendProjects != null) {
      data['recommendProjects'] =  this.recommendProjects.map((v) => v.toJson()).toList();
    }
		if (this.recommendBanner != null) {
      data['recommendBanner'] = this.recommendBanner.toJson();
    }
		return data;
	}
}

class OscWeeklyActiveUser {
	int followers;
	int followStatus;
	String name;
	int id;
	String portrait;

	OscWeeklyActiveUser({this.followers, this.followStatus, this.name, this.id, this.portrait});

	OscWeeklyActiveUser.fromJson(Map<String, dynamic> json) {
		followers = json['followers'];
		followStatus = json['followStatus'];
		name = json['name'];
		id = json['id'];
		portrait = json['portrait'];
	}

	Map<String, dynamic> toJson() {
		final Map<String, dynamic> data = new Map<String, dynamic>();
		data['followers'] = this.followers;
		data['followStatus'] = this.followStatus;
		data['name'] = this.name;
		data['id'] = this.id;
		data['portrait'] = this.portrait;
		return data;
	}
}

class OscFindBanner {
	String img;
	int objId;
	int objType;
	int id;
	String title;
	String url;

	OscFindBanner({this.img, this.objId, this.objType, this.id, this.title, this.url});

	OscFindBanner.fromJson(Map<String, dynamic> json) {
		img = json['img'];
		objId = json['obj_id'];
		objType = json['obj_type'];
		id = json['id'];
		title = json['title'];
		url = json['url'];
	}

	Map<String, dynamic> toJson() {
		final Map<String, dynamic> data = new Map<String, dynamic>();
		data['img'] = this.img;
		data['obj_id'] = this.objId;
		data['obj_type'] = this.objType;
		data['id'] = this.id;
		data['title'] = this.title;
		data['url'] = this.url;
		return data;
	}
}

class OscFindRecommendProject {
	String img;
	int objId;
	String name;
	int objType;
	int id;
	String title;
	String url;

	OscFindRecommendProject({this.img, this.objId, this.name, this.objType, this.id, this.title, this.url});

	OscFindRecommendProject.fromJson(Map<String, dynamic> json) {
		img = json['img'];
		objId = json['obj_id'];
		name = json['name'];
		objType = json['obj_type'];
		id = json['id'];
		title = json['title'];
		url = json['url'];
	}

	Map<String, dynamic> toJson() {
		final Map<String, dynamic> data = new Map<String, dynamic>();
		data['img'] = this.img;
		data['obj_id'] = this.objId;
		data['name'] = this.name;
		data['obj_type'] = this.objType;
		data['id'] = this.id;
		data['title'] = this.title;
		data['url'] = this.url;
		return data;
	}
}
